package com.klm.easymq.config;

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import lombok.Data;

/**
 * Easy-MQ Web控制台配置
 * 用于配置嵌入式Web界面的相关参数
 */
@Data
@Configuration
@ConfigurationProperties(prefix = "easy-mq.console")
@ConditionalOnProperty(prefix = "easy-mq.console", name = "enabled", havingValue = "true")
public class WebConsoleConfig {
    
    /**
     * 是否启用Web控制台
     */
    private boolean enabled = false;
    
    /**
     * Web控制台端口
     * 如果为0，则使用随机可用端口
     */
    private int port = 0;
    
    /**
     * Web控制台上下文路径
     */
    private String contextPath = "/easymq-console";
    
    /**
     * 是否启用安全认证
     */
    private boolean securityEnabled = false;
    
    /**
     * 用户名（如果启用安全认证）
     */
    private String username = "admin";
    
    /**
     * 密码（如果启用安全认证）
     */
    private String password = "admin123";
    
    /**
     * 允许访问的IP地址（逗号分隔）
     * 为空表示允许所有IP访问
     */
    private String allowedIps = "";
    
    /**
     * 是否启用CORS
     */
    private boolean corsEnabled = true;
    
    /**
     * 控制台主题
     */
    private String theme = "default";
    
    /**
     * 是否启用实时数据更新
     */
    private boolean realtimeEnabled = true;
    
    /**
     * 数据刷新间隔（秒）
     */
    private int refreshInterval = 5;
} 